Text semigraphics is a primitive method used in early video hardware to emulate per pixel addressable graphics without having to implement the logic for a true "high resolution" mode. Most often a number of special characters in the font of the video generator were used to support text semigraphics, normally a power of two like 4, or 8 of them. These characters are formed by creating a matrix of pixels, and assigning "ink" and "background" values to the elements of the matrix in a binary pattern, corresponding to the binary sequence of the position in the font table. when using a 2x3 matrix these six "pixels" are sometimes referred to as sixels.[1] Sometimes the text semigraphic characters are simply incorporated into the systems font-set, sometimes special video hardware is used to directly convert the bit-pattern from video memory into the pixels.
The seminal use of this technology was in the TRS-80 where the only way to get discrete pixels on the screen that could be turned on and off individually (a feature called all points addressable) was by the use of a 2x3 pixel matrix of text semigraphics.[2]
If the system also supported color, the color resolution of the resulting pixels was normally equal to the text resolution, often leading to attribute clash as the color of a pixel could not be changed on a per pixel basis, but only to one "ink", and one "background" color for all pixels within a character position.
Sometimes the number of characters in the font, dedicated to text semigraphics, could be halved if the system also supported an "invert" attribute, as halve the characters in a full text semigraphics font set are the logical inverse of the other half of the font set. Other tricks that were used to decrease the number of needed characters, was to use a space for the "all bits are zero" character, and to use character 7F hex for the "all bits are on" character, as character 7F hex (decimal 128) was often defined as an "all pixels on" character (this because of the fact that when using papertape punching out al seven holes , created the 7F hex "byte" which was considered to be the "DEL" or "rubout" non-printable character). The assignment in ASCII of the rubout character (to character #128) lead designers of VDU's to use "rubout" for an "all black" (or "all white") character, which was often used to represent the cursor.
other examples of the use of text semigraphics are: